package cn.iocoder.yudao.module.trade.dal.dataobject.ordersafetycheckterm;

import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

import java.util.Objects;

/**
 * 安检项 DO
 *
 * @author 芋道源码
 */
@TableName("trade_order_safety_check_term")
@KeySequence("trade_order_safety_check_term_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderSafetyCheckTermDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 安检服务模版明细id
     */
    private Long itemId;
    /**
     * 结果类型(0.单选，1.多选，2.文本，3.说明，4签字，5.照片，6.视频)
     */
    private Integer type;
    /**
     * 选项
     */
    private String options;
    /**
     * 默认选中(0.未选中,1.选中)
     */
    private Integer selected;
    /**
     * 拍照取证(0.未选中,1.选中)
     */
    private Integer obtainEvidence;
    /**
     * 隐患(1.一般隐患，2.严重隐患)
     */
    private Integer pitfall;
    /**
     * 是否整改（0.否，1.是）
     */
    private Integer isRectify;
    /**
     * 默认内容
     */
    private String defaultContent;
    /**
     * 公共字段：内容、整改意见、说明、签字、图片、视频
     */
    private String content;
    /**
     * 照片数量
     */
    private Integer photoNum;
    private Integer status;

    private Integer idIndex;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        OrderSafetyCheckTermDO that = (OrderSafetyCheckTermDO) o;
        return Objects.equals(options, that.options) && Objects.equals(content, that.content);
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), options, content);
    }
}